A storage control device such as a redundant arrays of inexpensive (independent) disks (RAID) device or the like includes a storage device such as a hard disk drive (HDD) or the like. Data is dispersed and stored in a plurality of storage devices in the RAID device. Therefore, when receiving an instruction from a host, the storage control device accesses a storage device in which corresponding data is stored. The storage control device and a storage medium such as an HDD or the like, which are included in the RAID device, construct a system that has redundancy. In addition, when a failure such as an abnormality or the like occurs in the storage device, the storage control device sends notification of the state to monitoring software through a serial port or a LAN.
FIG. 1 illustrates a configuration of the HDD. When receiving an instruction from the host, a micro processing unit (MPU) 2 in the storage control device performs a read/write processing operation for data by moving a head 3 to a data area in a disk 4 that is a storage medium in an HDD 1. The disk 4 includes a plurality of cylinders 5 and a plurality of heads 3, which are mounted concentrically, and includes a plurality of sectors 6 in the individual cylinders 5. The position of a storage area is identified using a physical address based on the head 3, the cylinder 5, and the position of the sector 6. On the other hand, in order to specify the storage area, the host uses a logical address that indicates a virtual position. In a system area 7 that is a specific area in the disk, logical address/physical address translation information, which is translation logic used for performing translation between a logical address and a physical address, and medium defect information are stored. The address translation information and the medium defect information will be described hereinafter. In the HDD 1, when power is activated, the address translation information and the medium defect information are read out and written in a memory 8. By referring to the address translation information and the medium defect information, written in the memory 8, translation from the logical address to the physical address is performed. In this way, when the physical address of the indicated storage area is specified, a control section in the MPU2 causes a voice-coil motor 9 to be driven, a head actuator 10 to be moved, and the head to be moved to a corresponding cylinder position. An HDD control section causes the head to be moved to the corresponding cylinder, waits for a corresponding sector to spin around and return, and performs a read/write processing operation using the head selected by a head selector. Data received from the host is written in a corresponding physical position. Data read out is sent to the host through the storage control device.
Here, the address translation information will be described. The address translation information includes a value indicating what number block from a first block indicated by the host an address corresponds to, and associates physical addresses indicating physical positions on a medium with logical addresses sequentially arranged, for example, from zero to a maximum value. When the HDD differs in type, the numbers of cylinders, heads, and sectors differ. In addition, in the HDD, when there is a defect on a storage medium and a corresponding portion is defined as unusable, a processing operation in which the corresponding portion is assigned to an alternate area and the defect position is not used is performed. A memory in the HDD stores a defect position information table which indicates the defect position. By referring to the defect position information table and the address translation information, while the defect position is skipped, data can be read or written.
In the related art, when, at the time data on a storage medium is accessed, a logical address indicated by a host is different from a physical address actually read or written, there occurs a problem in which data corruption arises or undesirable data is overwritten, and reliability is damaged. When a head selector is out of order, a head corresponding to a physical address obtained by translating a logical address from the host is not selected and a false head continues to be selected.
Continued failures such as physical failures of head selectors or the like account for the main factors of address mistranslation in the related art.
Therefore, there is adopted a method in which, when a data position indicated by the host is not normally translated into a data position where data is to be actually read or written, the mistranslation is detected. In the detection method of the related art, when user data is written, user data is written in one block with the addition of a logical address value indicating a logical address. In addition, when data is read, the added logical address value is compared with the address value indicated by the host at the time data is read. When the added logical address value matches the address value indicated by the host, it is determined that the read user data corresponds to data located at a correct position. Here, when the added logical address value does not match the address value indicated by the host, it is determined that the read user data corresponds to data located at an erroneous position, and the HDD informs the host or the storage control device of the presence of an abnormality. Accordingly, since interpolation can be performed using redundancy data of the RAID device, continued mistranslation can be resolved using the above-mentioned technique. In addition, when mistranslation is continued, a read/write processing operation is performed at an erroneous position both at the time data is written and at the time data is read. Since user data and a logical address value are newly written, it is determined that comparison of the logical address value at next read-in indicates normality. Since user data written in a corresponding area is also correct, no problem occurs.
Related patent documents are as follows: Japanese Laid-open Patent Publication No. 9-223366, Japanese Laid-open Patent Publication No. 2006-72435, and Japanese Laid-open Patent Publication No. 2003-228925.
In recent years, soft errors in a memory in an HDD have accounted for the main factors of address mistranslation. Soft error is a phenomenon in which defect position information written in the memory is destroyed. In storage control devices of recent years, a random access memory (RAM) has been manufactured so as to have a high density and a fine structure, in order to establish high capacity. Therefore, a soft error in which a bit is inverted owing to the influence of an alpha ray or a neutron ray has a high probability of occurrence.
A numerical value that is written in the memory and indicates a defect position is bit-inverted owing to the soft error and hence causes mistranslation. For example, when the third digit is bit-inverted in “0100” indicating that there is a defect in the fifth sector from “0”, “0000” turns out to be stored in the memory. Namely, since “0000” indicates that there is a defect in the first sector from “0”, a storage area which normally corresponds to the defect position and is not supposed to be accessed is accessed. This state is defined as an abnormal state.
Furthermore, since the soft error is not physical destruction of hardware, defect position information is read from a system area on a disk and rewritten in the memory, at the time power is activated owing to restart or the like. Owing to the rewrite processing operation, correct defect-position information is written. This state is defined as a normal state.
In this way, when the soft error occurs, the state transits from the normal state to the abnormal state and from the abnormal state to the normal state. When a write processing operation is performed during the state transition, an error is not reported from the HDD to the host or the storage control device. Therefore, data is left to be written in a storage area that is actually erroneous or data is written in a storage area in which data is not allowed to be written.
In the technique of the related art, in the case in which the state transits among three states, namely, from “normality” to “abnormality” and then to “normality”, even if a logical address value written along with user data is compared with a logical address value indicated from the host, the case in which the same address value is written occurs and hence the HDD does not report an error. Even if data, located at a position that is different from a normal position, is accessed, the data is not determined as abnormal and is transmitted to the host or the storage control device. Data corresponding to an instruction from the host is not obtained.